package com.guan.ordering_sys.generator.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author 关远键
 * @since 2021-06-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Order对象", description="")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单编号")
    @TableId(value = "order_id", type = IdType.AUTO)
    private Long orderId;

    @ApiModelProperty(value = "发起类型：1店员发起2顾客发起")
    private String orderType;

    @ApiModelProperty(value = "是否已付款：0未付款1已付款")
    private String pay;

    @ApiModelProperty(value = "付款方式：0其他1现金2微信3支付宝")
    private String payType;

    @ApiModelProperty(value = "订单状态：1待接单2已接单3已完成6取消单（未做菜之前）")
    private String orderStatus;

    @ApiModelProperty(value = "当用户取消订单时，记录当前订单状态；当驳回时，返回该状态；也可超60分扫描时辨别是否显示提醒信息")
    private String saveStatus;

    @ApiModelProperty(value = "微信用户编号（若是店员发起订单则填写雇员编号）")
    private Long wxuserId;

    @ApiModelProperty(value = "收货客户姓名")
    private String clientName;

    @ApiModelProperty(value = "收货客户联系电话")
    private String clientPhone;

    @ApiModelProperty(value = "收货地址")
    private String clientAddress;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "处理订单的雇员编号")
    private Long employeeId;

    @ApiModelProperty(value = "关联单编号：默认null，整桌付款时，填写关联的虚拟单号，不能退菜款，如需要，另行开发其他退款方式")
    private Long relatedOrder;

    @ApiModelProperty(value = "说明")
    private String explain;


}
